#ifndef E_FILE_INFO_H
#define E_FILE_INFO_H

#include <DefineLibCommon.h>
#include <DefineCommon.h>

#include <EString.h>
#include <memory>

/**EFileInfo class is  abstract interface for file information
 * from operate system.
 * TODO:should define useful functions and implete it.
 * */
class EFileInfo;
typedef SmartPtr(EFileInfo) EFileInfoPtr;
class COMMON_DLL EFileInfo
{
public:
    enum TYPE
    {
        DIR=0,
        FILE=1
    };

    EFileInfo(const EString& path);
    virtual ~EFileInfo();
    
    TYPE getType();
protected:
    TYPE m_type;
};

#endif // E_FILE_INFO_H
